import os


def seek_start():
    '''
    相对于文件开头(文件起始位置)进行偏移
    :return:
    '''
    file = open('file1', 'r+', encoding='utf-8')

    file.seek(5, os.SEEK_SET)

    text = file.read(5)  # 读5个字节，一个字母1个字节 一个汉字3个字节

    print(text)
    file.close()


def seek_end():
    '''
    相对于文件尾部进行偏移
    :return:
    '''
    file = open('file1', 'r+', encoding='utf-8')

    file.seek(0, os.SEEK_END)

    text = file.read(5)  # 读5个字节，一个字母一个字节

    print(text)  # 读不到是空字符串
    file.close()


def seek_cur():  # current
    '''
    相对于开头(文件起始位置)进行偏移
    :return:
    '''
    file = open('file1', 'r+', encoding='utf-8')

    file.seek(0, os.SEEK_CUR)

    text = file.read(5)  # 读5个字节，一个字母一个字节

    print(text)
    file.close()


def seek_b_cur():
    '''
    b模式下,读取到都是字节流,无需解码处理(可以把汉字以字节流输出)
    :return:
    '''
    file = open('file1', 'rb+')

    file.seek(5, os.SEEK_CUR)
    file.seek(-2, os.SEEK_CUR)
    file.seek(-3, os.SEEK_END)

    text = file.read()  # 一个字母1个字节 一个汉字3个字节

    print(text)
    file.close()


def copy_file():
    file = open('大头照.jpg', 'rb+')
    file2 = open('大头照_copy.jpg', 'wb')  # 本来没有会创建一个

    b = file.read()
    file2.write(b)


def modify_movie():
    file1 = open('大头照.jpg', 'rb+')
    file1.seek(10, os.SEEK_SET)
    b = file1.read(1)
    print(b)
    file1.close()

if __name__ == '__main__':
    # seek_start()
    # seek_end()
    # seek_cur()
    # seek_b_cur()
    # copy_file()
    modify_movie()